본문으로 건너뛰기

아이템7

타입을 값들의 집합이라 생각하기

  • 타입은 할당가능한 집합의 범위이다.
  • NEVER : 공집합으로 값을 가질 수 없다.
  • 유닛 : 한 가지 타입만을 가진다.
type A = "A"
  • 유니온 : 2개 혹은 세개로 묶는다.
type B = "A" | "B";

연산자

  • &연산자는 두 타입의 교집합을 구한다. (속셍의 교집합이 아닌 범위의 교집합으로)
  • 밑과 같은 집합이 생성됨을 알 수있다.
interface Person{
name : string
}

interface : Lifespan{
birth : Date
}

type PersonSpan = Person & Person

const ps : PersonSpan {
name : "Alan Turing"
birth : new Date("2000.11.21")
}
  • 다만 | 유니온 타입은 두 속성의 교집합이 기준임으로
interface Person{
name : string
}

interface : Lifespan{
birth : Date
}

type PersonSpan = Person & Person
  • PersonSpanNever이다.